package com.stop.activity.adapter;

import java.util.ArrayList;
import java.util.List;

import org.json.JSONObject;

import com.stop.R;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class SalasArrayAdapter extends ArrayAdapter<JSONObject> {

	// Elementos de cada linha da lista
	private TextView txtSalasNome;
	private TextView txtSalasJogadores;
	private TextView txtSalasRodada;
	private ImageView imageSalasStatus;

	private List<JSONObject> elements = new ArrayList<JSONObject>();

	public SalasArrayAdapter(Context context, int textViewResourceId, List<JSONObject> objects) {
		super(context, textViewResourceId, objects);

		// Lista de elementos que serão utilizados para a contrução da lista
		this.elements = objects;
	}

	public int getCount() {
		return this.elements.size();
	}

	public JSONObject getItem(int index) {
		return this.elements.get(index);
	}

	/*
	 * Setando os valores dos objetos em cada linha da lista
	 */
	public View getView(int position, View convertView, ViewGroup parent) {
		View row = convertView;
		if (row == null) {
			LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			// layout que será utilizado na criação de cada linha da lista
			row = inflater.inflate(R.layout.activity_salas_adapter, parent,	false);
		}

		// Get item
		JSONObject category = getItem(position);

		// Recuperando referencia dos elementos da interface
		txtSalasNome = (TextView) row.findViewById(R.id.txtSalasNome);
		txtSalasJogadores = (TextView) row.findViewById(R.id.txtSalasJogadores);
		txtSalasRodada = (TextView) row.findViewById(R.id.txtSalasRodada);
		imageSalasStatus = (ImageView) row.findViewById(R.id.imageSalasStatus);

		// Setando valores
		txtSalasNome.setText(category.optString("nome", ""));
		txtSalasJogadores.setText(category.optString("jogadores", "") + "/" + category.optString("vagas", "") + " Jogadores");
		txtSalasRodada.setText(category.optString("rodadaAtual", "") + "/" + category.optString("rodadas", "") + " Rodada");

		if(category.optBoolean("jogando", false)){
			imageSalasStatus.setImageResource(R.drawable.couple_refresh);
		}else{
			imageSalasStatus.setImageResource(R.drawable.couple_clock);
		}
		
		return row;
	}
}
